// pages/exam/exam.js
const app = getApp()

Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 用户姓名
    name: '',
    // 用户学号
    studentId: '',
    //展示学年信息
    showTime: false,
    //展示显示类型信息
    showType: false,
    //展示考试批次信息
    showBatch: false,
    // 考试数据列表
    examInfo: [],
    // 当前所选学年对象
    selectedTime: {},
    // 学年选择默认值
    defaultIndexTime: 0,
    // 显示类型默认值
    defaultIndexType: 0,
    // 选择器中所含的学年列表
    columnsTime:[],
    // 选择器中所含的显示类型列表
    columnsType:[],
    // 当前所选显示类型对象
    selectedType:{},
    // 当前所选考试批次对象
    selectedBatch: {},
    // 选择器中所含的考试批次列表
    columnsBatch:[],
    // 考试批次默认值
    defaultIndexBatch: 0,
    // 判断是否存在考试批次
    haveBatch: true,
    // 学期课程数目
    number: '', 
    //学期需修满学分
    allCredit: '',
    // 存放考试批次中考试数据的列表
    activeNames: [],
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 初始化用户信息
    var that = this 
    that.setData({
      name: app.globalData.name,
      studentId: app.globalData.studentId
    })

    // 请求用户成绩
    this.getExam()
  },

  getExam(){
    var that = this
    wx.request({
      url: 'https://example.com/exam',
      dataType: 'json',
      success(res) {
        console.log(res)
        var columnsTime = []
        var columnsType = []
        var columnsBatch = [] 
        for(let i=0;i<res.data.length;i++){
          columnsTime.push({text:res.data[i].time,defaultIndexTime:i,examType:res.data[i].examType})
        }
        for(let i=0;i<columnsTime[0].examType.length;i++){
          columnsType.push({text:columnsTime[0].examType[i].type,defaultIndexType:i,course:columnsTime[0].examType[i].course})
        }
        for(let i=0;i<columnsType[0].course.length;i++){
          columnsBatch.push({text:columnsType[0].course[i].species,defaultIndexBatch:i,examInfo:columnsType[0].course[i].examInfo})
        }
        that.setData({
          examInfo: res.data,
          columnsTime,
          selectedTime: columnsTime[0],
          columnsType,
          selectedType: columnsType[0],
          columnsType,
          selectedBatch:columnsBatch[0],
          columnsBatch
        })
      }
    })
  },

  /*
  * 选择学年方法区域
  */ 
  onCloseTimePopup() {
    this.setData({ showTime: false });
  },

  // 取消选择学年学期
  onCancelTime() {
    this.setData({ showTime: false });
  },

  // 确定选择学年学期
  onConfirmTime(event) {
    const { value, index } = event.detail;
    var columnsType = []
    for(let i=0;i<value.examType.length;i++){
      columnsType.push({text:value.examType[i].type,defaultIndexType:i,course:value.examType[i].course})
    }
    var columnsBatch = []
    for(let i=0;i<columnsType[0].course.length;i++){
      columnsBatch.push({text:columnsType[0].course[i].species,defaultIndexBatch:0,examInfo:columnsType[0].course[i].examInfo})
    }
    this.setData({
      selectedTime: value,
      defaultIndexTime:index,
      showTime: false,
      columnsType,
      selectedType: columnsType[0],
      defaultIndexType: 0,
      haveBatch: true,
      selectedBatch: columnsBatch[0],
      defaultIndexBatch:0,
      columnsBatch
    })
    // console.log("$$$$$$$$$$$$$$$$$$$$$")
    // console.log(value)
    // console.log(columnsBatch[0])
  },

  openTime(){
    this.setData({ showTime: true });
  },



  /*
  * 选择显示类型方法区域
  */
  onCloseTypePopup() {
    this.setData({ showType: false });
  },

  // 取消选择
  onCancelType() {
    this.setData({ showType: false });
  },

  // 确定选择
  onConfirmType(event) {
    const { value, index } = event.detail;
    var columnsBatch = [] 
    for(let i=0;i<value.course.length;i++){
      // 选择考试安排
      if(value.course[i].species){
          columnsBatch.push({text:value.course[i].species,defaultIndexType:i,examInfo:value.course[i].examInfo})
          this.setData({
            selectedType: value,
            defaultIndexType:index,
            showType: false,
            haveBatch: true,
            columnsBatch,
            selectedBatch: columnsBatch[0],
            defaultIndexBatch: 0
          })
          console.log(columnsBatch[0])
      }else{ // 选择学期课程列表
        console.log(value.course[0].allCredit)
        this.setData({
          selectedType: value,
          defaultIndexType:index,
          showType: false,
          haveBatch: false,
          number: value.course[0].number,
          allCredit: value.course[0].allCredit
        })
      }
    }
  },

  openType(){
    this.setData({ showType: true });
  },


  /*
  * 选择考试批次区域
  */
  onCloseBatchPopup() {
    this.setData({ showBatch: false });
  },

  // 取消选择
  onCancelBatch() {
    this.setData({ showBatch: false });
  },

  // 确定选择
  onConfirmBatch(event) {
    const { value, index } = event.detail;
    this.setData({
      selectedBatch: value,
      defaultIndexBatch: index,
      showBatch: false
    })
    console.log(this.data.selectedBatch)
  },

  openBatch(){
    this.setData({ showBatch: true });
  },

  // 展开考试科目
  onChangeCollapse(event) {
    this.setData({
      activeNames: event.detail,
    });
  },


})